As shown in FIG. 1, a servo motor control circuit having a position feedback loop and a digitally controlled velocity loop is generally equipped with both a velocity feedback loop for controlling the rotational speed of a motor 10 and a current feedback loop for controlling the current flowing through the motor 10. In addition there is the position feedback loop for controlling the position, angular or otherwise of the movable mechanical part (not shown) of the motor 10. In the current feedback loop, the motor current I.sub.d is controlled so that instructed analog current I.sub.s ' equals motor current I.sub.d, as detected with a resistor 11. The motor velocity is controlled so that the difference .DELTA.V between motor velocity V.sub.d, found by a velocity-calculating portion 21, and velocity V.sub.s, instructed from a position control portion 19, is reduced down to zero. The motor position is controlled by the position feedback loop in such a way that the differenoe .DELTA.l between position l.sub.d and instructed value l.sub.s produced from an command function generator 16 is reduced down to zero. The position l.sub.d is detected by a position detector 15 such as a pulse encoder or a linear scale and counted by a position counter 20. Also shown in FIG. 1 are a velocity control portion 12, a D/A converter 14, a power amplifier 17, and subtracters 18a, 18b, 18c.
In the area surrounded by the dot-and-dash line, signals are processed digitally. Digital signals are indicated by , while analog signals are indicated by .fwdarw.. Usually, the position control section 19 performs an arithmetic function given by EQU V.sub.s =K.sub.p .multidot..DELTA.l (1)
where K.sub.p is a constant. Where the velocity is controlled by making use of PI (proportional plus integration) action, the velocity control portion 12 performs arithmetic functions given by ##EQU1## where K.sub.v and K.sub.I are constants, and .SIGMA. means summation. Where the velocity is controlled by making use of I-F action, the velocity control portion 12 which determines the relation among the instructed velocity V.sub.s, the velocity V.sub.d, and the instructed current 1, performs arithmetic functions given by ##EQU2##
In the prior art servo motor control apparatus construction as shown in FIG. 1, if the rigidity of the motor shaft is ideal, then the instructed motor velocity V.sub.s, and the motor current I.sub.d, which are taken when the rotation of the motor is reversed, show characteristics as indicated by 3OV.sub.s, 31V.sub.d, 32i.sub.d, respectively, in FIG. 2. In these graphs, the instant at which an instruction for reversing the direction is given at the origin, these three characteristics V.sub.s, V.sub.d, and I.sub.d are plotted against time t. I.sub.o is a value obtained by transforming the friction torque produced in the machine into a motor current. In the illustrated sample, the instructed velocity is reduced at a constant rate, i.e., the acceleration is a constant negative value. As can be seen from these graphs, when an instruction for reversing the direction is entered at instant t=0, the motor current I.sub.d indicated by the curve 32i.sub.d decreases gradually, but the velocity V.sub.d indicated by the curve 31Vd is kept null until the motor current I.sub.d reaches-I.sub.o, whereupon the motor begins to reverse. That is, a time delay of T.sub.1 occurs between the instant at which an instruction for reversing the direction is entered and the instant at which the motor begins to reverse.
Of course, this time delay produces an error in controlling the machining process. More specifically, as shown in FIG. 3, when a command pulse train is distributed along a genuine circle and a cutting work should be caused to proceed along the genuine circle as indicated by curve 40, the response is delayed for on reversal of the direction of the rotation. Therefore, in the portion in which the cut quadrant of the arc is switched, the actual cut portion has a bulge as indicated by curve 41.
This undesirable phenomenon is now described in further detail by referring to FIG. In arc I, only the X-axis moves, and the velocity assumes the maximum value. The Y-axis is at rest. In arc II, the Y-axis begins to move but a genuine circle is not attained. In arc III, both X- and Y-axes move, and a genuine circle trajectory is accomplished. When the Y-axis moves in one direction after kept at rest, the start of the movement is delayed, thus producing arcs I and II. If the machining deviation from the genuine circle is taken, a bulge appears.
Since the present numerical control uses only distribution of pulses to circles and straight lines, problems occur when machining work is done along an arc. In addition, when the direction of movement along one axis is instructed to reverse while the direction of movement along another axis is maintained constant (i.e., a trajectory in which a pause takes place being followed) for example a parabolic contour is followed, similar problems take place.
With respect to the start of the motor, it does not begin to move until the motor current I.sub.d exceeds-I.sub.o, thus producing a time delay. Where instructed motor velocity V.sub.s and the degree of friction differ among the axes, as encountered on a machine having several axes such as a robot, it is inevitable that the effect of time delay differs among the axes. As a result, the trajectory deviates at the machine point.
In view of these problems, the present applicant has already proposed an improved method of reversing the sign of the integration term obtained from the velocity control portion 12 without changing the absolute value at the instant of the reversal of the direction, or for setting the integration term to a certain value at the instant of reversal by making use of the fact that the voltage determining the instructed current value I.sub.s when an instruction for reversing the direction is entered is in proportion or corresponds to the sum of friction torque, torque equivalent to work to the outside, and acceleration torque, as well as making use of the fact that the voltage determining the instructed current value I.sub.s is the value of the integration term of the velocity control portion 12, since the instructed velocity V.sub.s and the motor velocity V.sub.d are almost null, as disclosed in Japanese Patent Laid-Open Nos. 150688/19876, 150689/1986, 150690/1986, and 173684/1986.
In this method however the instructed current value I.sub.s is changed in a step by step fashion. This produces the possibility that the response of the motor becomes excessive because of the resilience determined by the rigidity of the motor shaft. For this reason, a workpiece may be machined excessively.